package com.ddwl.order.dao.mapper;

import com.ddwl.common.dao.mapper.TkMapper;
import com.ddwl.order.dao.model.OrderInfo;
import com.ddwl.order.util.ExportOrderInfo;
import com.ddwl.schema.bo.order.QueryOrderListBo;
import com.ddwl.schema.vo.order.ShopOrderCountVo;
import com.ddwl.schema.vo.order.StatisticsAmountVo;
import com.ddwl.schema.vo.order.UserOrderCountVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (OrderInfo)数据库交互Mapper
 *
 * @author makejava
 * @since 2020-06-02 14:48:12
 */
public interface OrderInfoMapper extends TkMapper<OrderInfo> {

    List<OrderInfo> queryOrderSpuList(@Param("query") QueryOrderListBo queryOrderListBo);

    long queryOrderSpuCount(@Param("query") QueryOrderListBo queryOrderListBo);

    List<OrderInfo> queryOrderList(@Param("query") QueryOrderListBo bo);

    List<OrderInfo> queryOrderByPhone(@Param("query") QueryOrderListBo bo);

    Integer queryOrderCount(@Param("query") QueryOrderListBo bo);

    List<StatisticsAmountVo> queryOrderAmount(@Param("query") QueryOrderListBo bo);

    List<ExportOrderInfo> queryExportOrderList(@Param("query") QueryOrderListBo bo);

    ShopOrderCountVo queryShopOrderList(@Param("query") QueryOrderListBo query);

    ShopOrderCountVo queryUnsendOrder(@Param("query") QueryOrderListBo query);

    UserOrderCountVo getUserOrderCount(@Param("userId") String userId);

    UserOrderCountVo getWbmUserOrderCount(@Param("shopId") String shopId);
}